%%% sub-Saharan Africa
%%%------------------------------

clear all; clc;
load dataAf3.txt; load investAf.txt;
k=4; opt=2; nsim=100; mmax=5;
gdp=[dataAf3(:,1:16) dataAf3(:,18:24)]; pop=[dataAf3(:,25:40) dataAf3(:,42:48)];
ter={[dataAf3(:,49:64) dataAf3(:,66:72)] [dataAf3(:,73:88) dataAf3(:,90:96)]... 
    [dataAf3(:,97:112) dataAf3(:,114:120)]};
invst=investAf; % Sierra Leone is not included. therefore we dropped it from dataAf3 above.

resultsAf={};

for i = 1:3   % 1 = total ter; 2 = domestic ter; 3 = transnational ter;
        for j = 1:2 % 1 = ter/1000; 2 = ter/pop;
                for m=1:2 % 1 = level ter; 2 = 1st differenced ter;
                    [yy, ylag, tlag, ws, wn]=prepdat4(gdp, ter{i}, invst, pop, j, m);
                    [T N]=size(yy);
                    xx = [tlag ws wn];
                    [bfinal1 pval mpy1 mpx mpu1 converg1] = fapr1(yy, ylag, xx, opt, nsim, mmax, k, N);
             
                    resultsAf.beta{i,j,m} = bfinal1;
                    resultsAf.pval{i,j,m} = pval;
                    resultsAf.stat{i,j,m} = [mpy1 mpx mpu1 converg1];
                    keep resultsAf dataAf3 investAf k opt nsim mmax ter gdp invst pop i j m
                end
        end
end



%%%%%-------------------------------------------------
%%%%%       RESULTS
%%%%%-------------------------------------------------


%%%% Results cell arrays are as follow:

%{1,1,1} = Total terrorism/1000 level
%{1,1,2} = Total terrorism/1000 first-differenced
%{1,2,1} = Total terrorism/pop level
%{1,2,2} = Total terrorism/pop first-differenced

%{2,1,1} = Domestic terrorism/1000 level
%{2,1,2} = Domestic terrorism/1000 first-differenced
%{2,2,1} = Domestic terrorism/pop level
%{2,2,2} = Domestic terrorism/pop first-differenced

%{3,1,1} = Transnat terrorism/1000 level
%{3,1,2} = Transnat terrorism/1000 first-differenced
%{3,2,1} = Transnat terrorism/pop level
%{3,2,2} = Transnat terrorism/pop first-differenced

%%%% Reading colums and rows of results: 
%%%% Columns: 1-2=total & pval; 3-4=Domestic & pval; 5-6=Trans & pval
%%%% Rows: 1-4 = lagy, ter/1000, invest, pop; 5-8 = lagy, ter/POP, invest, pop;


%%% Terrorism Level: full results
TableLevel=[resultsAf.beta{1,1,1} resultsAf.pval{1,1,1} resultsAf.beta{2,1,1} resultsAf.pval{2,1,1} ...
    resultsAf.beta{3,1,1} resultsAf.pval{3,1,1}; resultsAf.beta{1,2,1} resultsAf.pval{1,2,1} ...
    resultsAf.beta{2,2,1} resultsAf.pval{2,2,1} resultsAf.beta{3,2,1} resultsAf.pval{3,2,1}]

%%% Terrorism first-differenced: full results
TableFD=[resultsAf.beta{1,1,2} resultsAf.pval{1,1,2} resultsAf.beta{2,1,2} resultsAf.pval{2,1,2} ...
    resultsAf.beta{3,1,2} resultsAf.pval{3,1,2}; resultsAf.beta{1,2,2} resultsAf.pval{1,2,2} ...
    resultsAf.beta{2,2,2} resultsAf.pval{2,2,2} resultsAf.beta{3,2,2} resultsAf.pval{3,2,2}]

%%% Stats: number of factors y, number of factors x, number of factors u,
%%% convergence
TableStats=[resultsAf.stat{1,1,1}; resultsAf.stat{2,1,1}; resultsAf.stat{3,1,1}; ...
    resultsAf.stat{1,2,1}; resultsAf.stat{2,2,1}; resultsAf.stat{3,2,1}; ... 
    resultsAf.stat{1,1,2}; resultsAf.stat{2,1,2}; resultsAf.stat{3,1,2}; ...
    resultsAf.stat{1,2,2}; resultsAf.stat{2,2,2}; resultsAf.stat{3,2,2}]

%%%% Table 4: only results shown in Table 4
Table4=[resultsAf.beta{1,1,1}(2) resultsAf.beta{2,1,1}(2) resultsAf.beta{3,1,1}(2); ...
    resultsAf.beta{1,2,1}(2) resultsAf.beta{2,2,1}(2) resultsAf.beta{3,2,1}(2); ... 
    resultsAf.beta{1,1,2}(2) resultsAf.beta{2,1,2}(2) resultsAf.beta{3,1,2}(2); ...
    resultsAf.beta{1,2,2}(2) resultsAf.beta{2,2,2}(2) resultsAf.beta{3,2,2}(2)] 
